add 404, fixed bugs