Converted to Compile-On-Save Typescript