pass X by reference.