add_constraint implemented