add password generation (wip; unlinked)