refactor; support countdowns; add countdown example