refactoring list module