fixed mapValue()