initial file upload

initial working version with basic support.
there are two (important) methods that do not have documentation, yet:
encrypt & decrypt methods.