added printDirect for convenience