add "init" hook to new()