Updated to allow templates
initial commit, adding templates for functionality