first commit. got pipe machine definition and a helper