Altered for PHP 5.4 compatibility