this explains why both other interfaces extend this one, not why this one is marked as abstract