add user login support, and not finished yet