Refactoring approve