implement data structure with c