there is some constraint magic happening