1.8.7 has a default implementation on top