added user validation for presence of name; added explanatory comments