* Mayor refactor almost done