C data structures and other utlities