add hero, refactor