add various checks