Separated set-up into a few components