periodic generation