close #19, close #17, close #13, close #12