added mono project refactored logic code to multiple classes