split off 5.10+ version into separate file so we can work on 5.8/5.6 support