I'm having issues creating a timer that when started will first sleep for 2 minutes. It will run for 5 minutes total and every minute will do work. This is what I have:

```
class Program{
    static System.Timers.Timer aTimer;
    static System.Diagnostics.Stopwatch sw = new System.Diagnostics.Stopwatch();
    static TimeSpan LongToRun = new TimeSpan(0,300,0)); //run for 5 minutes

    static void Main (string[] args){
        Thread.Sleep(120000); //sleep for 2 mins
        sw.Reset();
        sw.Start();
        Start();
    }

    static void Start()
    {
        aTimer = new System.Timers.Timer();
        aTimer.Interval = 60000;  //every min
        aTimer.Enabled = true;
        aTimer.Elapsed += new ElapsedEventHandler(timer_Elapsed); 
        aTimer.Start();

    }

    static void timer_Elapsed(object sender, ElapsedEventArgs e)
    {
        TimeSpan ts = sw.Elapsed;
        if (ts.TotalSeconds >= LongToRun.TotalSeconds)
        {
            aTimer.Stop();
            return;
        }

        DoWork();
    }
}   

```

timer\_Elapsed never is called... Am I going about this wrong?