implement faster parsing