added data structure
merged