some problem data structures