Updated to use universal reference