Synchronization model is changed, Major refactoring is done to implement in a better OO model