add ring function