add a little hack for async printing and getting input