add Yan's work