works till we recv data