use decorators for rwproperties