terrible terrible parsing performance must fix