added speech synthesis