remove idea
quick refactoring
some refactoring
some refactoring