refactoring; documentation; now the code base is clean (Y)