Improved encapsulation and file-structure.