why do we need this setup?