A data abstraction library