util implementation