Collection view support

I'm not sure this can be auto-merged since I committed to the master on accident before reverting it and moving it to my branch.