login func add(unfinished 0.2)