Fixed printer bug and de-coupled printer from implementation