move validate & send-message to common controller