add custom error page. closes #1