new shared api