all command now take a connection instead of a socket