generic utils for golang