source-and-sink method