update and add dual likelihood

yep, like that, but always SG_REF before the SG_UNREF, otherwise an object might be deleted if the same object is passed to setter