private static void installNatives(File folder) throws Exception 
	{
		System.out.println("OS found : "+System.getProperty("os.name")+ " "+System.getProperty("os.version"));
		System.out.println("Installing natives...");
		if(getNameOfOS().equalsIgnoreCase("windows"))
		{
			if(!new File(folder.getPath()+"/jinput-dx8_64.dll").exists())
			{
				IO.copy(getFFJar("/windows/jinput-dx8_64.dll", LWJGLHandler.class), folder.getPath()+"/jinput-dx8_64.dll").close();
				IO.copy(getFFJar("/windows/jinput-dx8.dll", LWJGLHandler.class), folder.getPath()+"/jinput-dx8.dll").close();
				IO.copy(getFFJar("/windows/jinput-raw_64.dll", LWJGLHandler.class), folder.getPath()+"/jinput-raw_64.dll").close();
				IO.copy(getFFJar("/windows/jinput-raw.dll", LWJGLHandler.class), folder.getPath()+"/jinput-raw.dll").close();
				IO.copy(getFFJar("/windows/lwjgl.dll", LWJGLHandler.class), folder.getPath()+"/lwjgl.dll").close();
				IO.copy(getFFJar("/windows/lwjgl64.dll", LWJGLHandler.class), folder.getPath()+"/lwjgl64.dll").close();
				IO.copy(getFFJar("/windows/OpenAL32.dll", LWJGLHandler.class), folder.getPath()+"/OpenAL32.dll").close();
				IO.copy(getFFJar("/windows/OpenAL64.dll", LWJGLHandler.class), folder.getPath()+"/OpenAL64.dll").close();
			}
			else
			{
				System.out.println("Natives already exist.");
			}
		}
		if(getNameOfOS().equalsIgnoreCase("solaris"))
		{
			if(!new File(folder.getPath()+"/liblwjgl.so").exists())
			{
				IO.copy(getFFJar("/solaris/liblwjgl.so", LWJGLHandler.class), folder.getPath()+"/liblwjgl.so").close();
				IO.copy(getFFJar("/solaris/liblwjgl64.so", LWJGLHandler.class), folder.getPath()+"/liblwjgl64.so").close();
				IO.copy(getFFJar("/solaris/libopenal.so", LWJGLHandler.class), folder.getPath()+"/libopenal.so").close();
				IO.copy(getFFJar("/solaris/libopenal64.so", LWJGLHandler.class), folder.getPath()+"/libopenal64.so").close();
			}
			else
			{
				System.out.println("Natives already exist.");
			}

		}
		if(getNameOfOS().equalsIgnoreCase("linux"))
		{
			if(!new File(folder.getPath()+"/liblwjgl.so").exists())
			{
				IO.copy(getFFJar("/linux/liblwjgl.so", LWJGLHandler.class), folder.getPath()+"/liblwjgl.so").close();
				IO.copy(getFFJar("/linux/liblwjgl64.so", LWJGLHandler.class), folder.getPath()+"/liblwjgl64.so").close();
				IO.copy(getFFJar("/linux/libopenal.so", LWJGLHandler.class), folder.getPath()+"/libopenal.so").close();
				IO.copy(getFFJar("/linux/libopenal64.so", LWJGLHandler.class), folder.getPath()+"/libopenal64.so").close();
			}
			else
			{
				System.out.println("Natives already exist.");
			}

		}
		if(getNameOfOS().equalsIgnoreCase("macosx"))
		{
			if(!new File(folder.getPath()+"/openal.dylib").exists())
			{
				IO.copy(getFFJar("/macosx/liblwjgl.jnilib", LWJGLHandler.class), folder.getPath()+"/liblwjgl.jnilib").close();
				IO.copy(getFFJar("/macosx/liblwjgl-osx.jnilib", LWJGLHandler.class), folder.getPath()+"/liblwjgl-osx.jnilib").close();
				IO.copy(getFFJar("/macosx/openal.dylib", LWJGLHandler.class), folder.getPath()+"/openal.dylib").close();
			}
			else
			{
				System.out.println("Natives already exist.");
			}

		}
		System.out.println("Natives have been install!\nConfiguring LWJGL paths...");
		System.out.println("Paths configured!\nConfiguring JInput's paths...");
	    System.setProperty("net.java.games.input.librarypath", folder.getPath()+"/");

		System.out.println();	
	}