refactoring all basic methods
cleaning