Finished seperation of code, got a printer rather than a formatter though.