why are you changing the header guards? do we have a convention here?
You are changing from __NAME_H to __NAME_H here (two "_" in front), but "_NAME_H" down there.