refactoring and deployable