fixed hashcode (now called code), and misc fallout.