setup templates and subclassing options