fix issue #2: formalize API for complex operators