Updated with functional speech listener