Beginning implementation of template