set up models
dealing with form errors and such
dealing with errors
did lots of stuff