Uploaded Source Code

Will be gradually adding in comments to increase readability.