now compiles as gem -- local use only so far, not ready to push to RubyGems.org