Working implementation without data loss and without out of order packets