separated utilities into their own file