modified to work with PHP 5.2