implementations of standard algorithms and data structures