coninue refactoring.