File upload

add simple file upload capability and test coverage