initial, refactored solution and reflection for add it up