First implementation of template