Add composite Op constructor