#19 Collection templates

Fixes #19