complete collection interface