add hercules support.
17 files changed