move setup stuff to methods