refactor use_pole