progress on input validation