Fixed #4 #5 #6 #7