added an intermediate superclass for testing
added or updated API methods