refactor coupling.set