Split out different cases for assigning to target