Massive changes for printing (nowhere near done)