using with_setup to execute setup and teardown on every test