more checks, somewhat tested