various utilities