extended logic: send and recieve start and done