using @properties to define getter/setters