Implement most of rest of tcp