addressed issue #1 Issue #4 and Issue #5