support more portable print statement