beginning of messaging system, needs some cleanup still