added templating
added get title, error checking, validation