collection interface