contraints added