Przepisanie kodu do TypeScript i podział na moduły

#46