Major refactoring done in offline environment.