New to ruby, I can clean this up in a bit, I thought it was good practice to override hash a la Java