fixed hash bug and implemented total SurgeryModule