user online new implementation