Some refactor
some refactor
Some more refactor