close #14, close #17, close #19