First Version

Add basic function and test demo