Initial Upload

Basic functions done. Need to clean up code and add documentation.