better tests and error handling for request form