superposition method