receive function modify