implemented sharing contract