close #15 require 100% coverage