Levels support work in progress
Refactoring