added Yanqing's work