Added Typescript support