Implements list data structure