reorganize force constraint handling