first iteration of my solution, not complete