Refatored Definition Classes
Refatored Merge logic
Moved Config files to outside lib folder