Why have this both as a utility function and as a method?