added reply message + refactoring + renaming of the classes and interfaces + tests (and fixes)