Added interfaces, fixed tests, removed enumerator