modify according to refactoring