added utilities from a different branch and enhanced the file