OMM Task1 & Task2 (implementation in C#)