move utilities to its own file