refix compile
improve test