struct constraint added