Issue #14, issue #21, issue #24 fixed.