speaker implementation