update modifies in place, I don't think it returns. Is this tested? i think it might be overriding properties with None