better setup (i think)