new share logic