Fixes #2
Fixes #3
Fixes #4
Fixes issue #5
Fixes issue #7
Fixes issue #8