added check constraints