adding composite ops