stuck on number 3, going to take simpler approach, may return to this state of the project later