narrator generation and understanding added