finish working on printing subsystem