refactor heroes and add some headers - fixes #34