refactoring for PHP 5.4