add more lifecycle events