basic form in request handler, should be broken out into a view