cummulative code changes from pull #7, without tests or fixtures