Blob recover, change password, and refactoring

not covered by tests yet