solutions for all the 5 challenges