Implementing the common data structure, personal use only.