dictionary factory