add comment
add client authenticate method, but left a lot of todo