checkout done with constraints