code modified to work with php 5.3