add new utility function