[DIRTY] Typescript 9, intro, refactoring