refactor code list