major rework on PartD, learned lookahead and lookbehind, helps a lot