added check()