lose state and aoe and tons of refactoring[develop]