Converted Template Argument to an Option

I changed the template argument to an option.
Merge branch 'development'