(*)code refactoring