further classic refactor, plus auto adjustment protocol included