added immutable setters