prepare for new list struct
more generic list logic
Close #2
more generic list struct
Merge branch 'universalListStruct' into develop