refactoring list