Add task_15 - task_21 + task_24 with tests