add abi helper function