updated constraint chacking