+ add arc support

fix bugs