Migration to TypeScript