NEW - Upload files

Submitted unoptimized version.
Update - Upload initial documentation
Update README.md
Update README.md
Update README.md
Use external JS
Refactored swap function.
Sync from master