design verification methods