refactor yourList
implement share list
refactor to do promise unwrapping