just concept

in the middle of refactoring