code cleanup
added multi-character operations, cleaned up APIs (removed superfluous stuff and simplified), restructured tests -- all tests now run in inverted automatically as part of testsuite