added role setup, still needs some work to make sure things happen sequentially