abstracted the data layer to be able to exchange it easily later.
removed universal class loader in favour of the composer autoload mechanism