Add some book need files, also refactor all the codes