refactoring
rename set, map <- delegate