refactor for multiplicity=1