First step of refactor