closed #6 #5 #4