First working version - printing still missing.