works as server side push.