generalizing Setup