fix extend with semi-private override
fix extend with semi-private override