expander implementation complete