cleanup
write tests
support hash and array for query parameters
filesave