First things working
More refactoring
More refactoring ...