refactored and added delay option and removed automatic delay (fire once before interval)