fix a lot of syntax mistake and add some test case