removed unused files, separated language extensions into its own file, added language extensions to Function prototype rather than the global namespace