use goroutine to handle messaging
finish server implementaion w/o buffer