put message implementation