file uploading working. needs more love/tests.