improve read input