[FEATURE] add password functionality to api

and fix a couple of small bugs