refactored some welcome logic