add js callback