add send/recv API