experiment more with proper typescript setups