close #25, #24, #22,#19,#17