refactor app-list