step2: self check