Always provide retval ptr