maj refactoring