Updating/fixing w.r.t. all the recent changes.
Refactoring code.
Refactoring.
Refactoring towards modularity.