lots of checking