add expander callback support