added IHasHandle cast