a little modification on receiver functions, to accept parameters