better line buffering