negative operators are properly resolved from the positive operators rather than hardcoded