form looks good, but the routes and the logic are all over the place.