Created by: emturner
progress on #761 (closed)
sorry about the upstream merges, not sure how to get rid of them