Finished typescript