added some contrains