Small Refactoring

It's small refactoring for you + some small features