anchor.diff:      return completer.future;
     }
     
  -  Future sendraw(List data){
  -    _socket.add(data);
  -    return senddummy();
  +  // return future that complets
  +  // when all prevous futures finished
  +  Future _getdummy(){
  +    Completer completer = new Completer.sync();
  +    _future = _future.then((_){
  +        completer.complete("dummy data");
  +      }
  +    );
  +    return completer.future;
     }
     
  -  Future send(object){
  +  Future _sendraw(List data){
  +    _socket.add(data);
  +    return _senddummy();
  +  }
  +  
  +  Future _send(object){
       var s = RedisSerialise.Serialise(object);
  -    return sendraw(s);
  +    return _sendraw(s);
     }
     
     void disable_nagle(bool v){
  
positive.code: 
  part of redis;
  
  class RedisConnection{
    Socket _socket = null;
    LazyStream _stream = null;
    Future _future = new Future.value();
    
    Future connect(host, port){
      return Socket.connect(host, port)
      .then((Socket sock){
        _socket = sock;
  
negative.code:   //this doesnt send anything
    //it just wait something to come from socket
    //it parse it and execute future
    Future _senddummy(){
      Completer completer = new Completer.sync();
      _future = _future.then((_) =>
          RedisParser.parseredisresponse(_stream)
  