add interval logic