custom error pages; closes #76