adding Processor imlementations with tests