implemented util.cs