example expanded. itoy interface demonstrated and how to encapsulate & hide
the struct/templates in a separate module.