Some refacturing
Some refactoring