better HHVM compat