@BobBall's #473 with a build fix

See #473 for all the juicy details