added error messages and learned about partials