a few extensions