the code seems to fill this need, for me