break level into seperate class