made text() and textf() use perfect forwarding