remove return int32 when no errors are possible.  add datasource handling to variant.