Full code implementation of the data structure