design notes about data structures