solution to task