fixes #26; fixes #33; fixes #94;