change to container struct, add RWMutex, Add(), Len(), etc