Add basic data structures and algorithm