[#79692868] breakup and stub out

breaking up the code, stubbing out
the composing functions