now can handle zval data