adding back sharing (partially complete)