users and receivers refactor