Data structure interface and implementations