Some additional refactoring (especially of the Data Types)