implement sharing feature