Fixes issues #1, #2, #3