implement intervals