added listening the user functionality