bevore refactoring