add doc and demo