1. Improving performance
2. New parameter
3. Renaming the method and the files.
argh... deleting some debug code.
another renaming...