add custom error pages, close #193