Completes enhancement #57.
Fixes bug #59.
Completes enhancement #58.
fixes bug #61.