Fixing #3 #4 #6