perfect reading inputs