add wtforms. refactor signup to use wtforms.