twinkle, and some optimization