cleaning + refactoring + basic configuration