initial merge...(everything will compile and run, but tests are under construction, so don't trust them)