contains algorithms and data structures and shit