refactoring and subtitle support