modify the way we do intrinsics and add a few