add js and demo