worked around php5.2 incompatibility with array_map callback