components use the new property system