Continued refactoring receive thread