implemented a rudimentary logger, fixed a bug in setValuesAt and added some documentation (not finished)