improving interval_add functionality