An abstract projection class and child mercprojection class

Agreed.. Will do.