add some test and format