adaptive ws method