Added add(), drain() and getItems()