MAYOR REFACTOR