setters work, no reader welcome to code that writes code.
more rigid but understandable.