added putfile feature