One step closer, all functions linked together to the highest level. As before, still not extracting the parameters and still need_a_better_name