major plugin refactor for the printing plugin