add client.isOSX
add requestAnimationFrame