data receiver refactoring

and fix ugly typo