pseudo coded solution
added initial solution
refactored solutions
added my reflection