Also refactored to use named vars in the templates, so it's easier to refactor, as order when you call .format() isn't important.