old new ftp class (needs refactoring)