Major update - more generic approach to Operations and Constraints