accessors module
added accessors and callbacks
cleaned up code