add primitive error handling, gravatar, validations