remove trigger* functions and expand it.