support exposure func