some renaming
fixed equality operators
many many changes made to API, untested
test
all tests passed