refactor create_share_extension