we are on 2.10 now so we can use promises