refactor first message handling