refactore error management in keystore