add `on(init)` if fn