add ambassador pattern implementation