changed interval mechanism to eliminate drift