now passing assign and unassign tests