refactor collections