Hello, I'm pretty new to c++. I have been using it for a little over 3 weeks. I programmed in Visual Basic .net for a few years before that but now I'm trying to break away from microsoft dependance. Anyway to the point. I want to make a class that works like a hashtable with a string or character array for a key and a SDL_Surface for a value. The hard part is I would like it to store the data in 2 different places I would like it to keep Surfaces that are used alot in video memory but swap little and not used surfaces to system memory because most people have more system memory than video memory. I was thinking that the function to sort/swap the surfaces could be called from my game loop. Maybe I should have asked this on a gamming forum but I thought this was more of a data structure question. Anyway please help!