fun with data structures and algorithms