basic data structures written in C