property getters, constructors