more refactoring for iswc