some useful independent utils