wrapped the cdata structs up.