recursive processor for #149