Consider work by @ianshmean in #41 as starting point.
Consider work by @ianshmean in #41 as starting point.