update and refactor msproperty