add more checking.