add main
add data structure