moved operator stuff into seperate module