Initial adding of Smarty. Should be working.
Merge branch 'ImplementSmart'