Improve the property and attribute system