uploaded complete solution, reflection