working on #10 & #3 logic