implement send/recv msg, login