closes #25, closes #26, closes #27 , Uploads are now via AJAX