elect callback