Did some refactoring, fixed some problems and let the first and second levels working.