printer implemented, not tested nor reviewed
minor updates and cleaning up