Refactored as a VS TypeScript project