start to generatlize parser