new printf implementation (wip)