adding in logic to prevent setup from running multiple times. fixes #3