trees, graphs, math, oop