checkout done with constriants