new pattern parsing