1.change the structure again
2.add 404 handle