add completion and util