added structural constraints