more constrain checks