Fixed bug , Improvements
Fixes #22
Fixes #19
Fixes #18