source code refactor.