added HalfRing ring type; refactored ring type picking;