better util structure