more explanation of setup