compatibility layer for old browsers