backward compatible with 5.3 php