split out set and examples into separate modules; add queue and stack; implement breadth-first and depth-first search