adjusts implementation to make it compatible with PHP 5.5