constraints composition