add enumerateAll to interface plus smaller fixes