implemented user authenticate and session store