refine structure and add login/register