php 5.3 compatibility fixed