completed solution, updated reflection