working on the operators... this branch may be broken...