extra checks
toString functions and tests
more toString implementations and tests