added normalize and print

these are direct imports, there has not been any attempt to
optimize(yet)