added ways to better determine receiver method