Initial Upload to Git

Most of the functionality is created.