moving code to their own files, adding TCX uploading