Fixes #4 #5 #6