solutions for exercises