properties used to be on the prototype and now are in the constructor. (fixes #61)
more consistent style