add API description and code samples