client mic broken down into functions and on a thread

need server to test