Added test coverage
Moved operators out into different files.
Included files accidentally missing from commit.