data structure code which is flexible to any given datatype used as items