move some code to utils.[ch]