'advanced' algorithms and data structures