passed test 29 - 33
refactored print method, passed test 34 - 37