TypeScript practice