implemented compile pipeline