Please check the description of the sub-tasks, as it was easier to code all together than by sub task.