refactor hero to use actions