php 5.2 compatibility (no closures)