build workable modules to complete the workflow first and then optimise each of these in isolation as well all of them at onceAll notes