simpler and better collection handling