close #29, #30, #31, #32, #34