refactor to use set-type