tests
contracts sped up + cleaned up code + all specs pass
lots more cleanup
more cleanup, benchmarking code moved to separate dir