Add evaluate feature, allow constraints to be added on the fly