In the mid of refactoring