Working on issue #72. Started from scratch.