data structure finished