use deferred for password generation