added a property system