Add ironworker rebased

This is a rebase of #678.  The PR was created from a very old version of master and caused a lot of confusion in @adelevie's testing.