add generic utils