You don't mention the gas tank, so first, I'd make sure there's no crap in there and that you have good fuel flow.
Next, see if it runs better with the choke on. If it does, this means that it's either getting too much air or not enough fuel--probably due to either the wrong or no air filter, or a fuel delivery problem.
If that doesn't solve anything, take off the air filter (assuming there is one) and see if it runs better. If it does, it's either getting too much fuel or not enough air--you may need a smaller carb jet, or your air filter may be clogged.
Hope this helps!