Extractors and Pseudo-random Generators with Optimal Seed Length