1. What's the Node class? I've tried googling this but the explanations are all very technical and refer to other things I also don't understand. 2. What's up with the for loop? I've never seen the .next in a for loop like this. 3. What is the hash method accomplishing? It seems it would return a semi-random number between 0 and buckets.length, since hashCode doesn't return a predictable value. if so, wouldn't it just be easier to use the built-in Random class? 4. I'm not even really sure what the get method does here. I can't even begin trying to solve this until I understand what the existing code is doing.