Implementing expressive gesture synthesis for embodied conversational agents