General purpose data structures and functions
