thought about typescript, decided no