Going for a more OO structure