add documentation,
update sample