PHP 5.3 compatible