completely works, except it logs the password and a bunch of other stuff