add api and update demos