#2 contruct data structure