send functionality