latest work, but puts parser in an infinite loop ?