add hasPeriod function