code for setup