improved PHP <5.4 compatibility