integrate with recommend