modify activate function