can now support lots of operators