Adding user struct to keep user state. Some implementation doubts ahead...