Initial draft
finish the v1.0, but there is still some bugs