Completely rewrite in order to take advantage of handlebars.