huge refactoring of surgeons to use Object.create() pattern