first
*enhance login function