added semi-space constraints