reduced repetition by adding base_setup()