can't use '$this' in activate()