giving and receive