Optimalization of the primes finding function
===

  After 10 minutes of work i have written a function presented below. It returns a list of all primes lower than an argumen. I have used all known for me programing and mathematical tricks in order to make this function as fast as possible. To find all the primes lower than a million it takes about 2 seconds. 
I ask now you do you see any possibilities to optimalize it even further? Any ideas?

    def Primes(To):
      if To<2:
        return []
      if To<3:
        return [2]
      Found=[2]
      n=3
      LastSqr=0
      while n<=To:
         k=0
         Limit=len(Found)
         IsPrime=True
         while k<Limit:
             if k>=LastSqr: 
                if Found[k]>pow(n,0.5): 
                   LastSqr=k
                   break
             if n%Found[k]==0:
                IsPrime=False
                break
             k+=1
         if IsPrime:
            Found.append(n)
         n+=1
      return Found