a little more checking