refactored print methods