fix #42, add basic 404 page, some more error handling