compatibility changes for php 5.3