Extra test cases for more complete coverage. Added test coverage makefile. Fixed errors from extra test cases. Rename a few traits.