solver and adding block constraint