add support for calling functions when the caller has variable sized objects