Resolves issue #7
fixes issue #14
resolves issue #15
resolves issue #17
fix issue #17