Reworked the property constructors