Assign address sort of works.
Fixed CAS with some cleanup