Dynamic error pages, closes #26