add password change/recover functionality and simplify form creation a bit