get and put methods use OO-style scp to avoid clobbering errstr,