working on data structure