refactored abstract classes into interfaces, new versionable base helper class
updated test due to array count bump