add login feature; it can only show login error now
fixed a little bug