add share state flow