Switch to typescript