move all intrinsics to module