refactored class structure that makes sense. takes no action, just prints. does not parse based on mode