returning Errors instead of strings
validation
views not needed/small bug
the user model