added some constrain defines