add example and update more fuction