public static void setSize(int width, int height) {
		System.out.println("Target: " +width +", " +height);
		
		//get preset screen size
		int nw = Display.getDesktopDisplayMode().getWidth();
		int nh = Display.getDesktopDisplayMode().getHeight();
		System.out.println("Native: " +nw +", " +nh);

		try {
			//derive biggest supported size limited by
				//native size, allowing for menus			
			double scale = 0, maxScale = 0;
			for (DisplayMode d: Display.getAvailableDisplayModes()){
				//System.out.println(d.toString());
				int w = d.getWidth(), h = d.getHeight();
				scale = Math.min((double)w/width, (double)h/height);
				if (scale > maxScale &&
						(width*scale)<=(nw-80) && (height*scale)<=(nh-80))
				{
					maxScale = scale;
				}
			}
			System.out.println("Derive: scale @ " +maxScale);
			
			//cap scale to within target and apply
			scale = Math.min(maxScale, 1);
			_width = (int)Math.floor(scale*width);
			_height = (int)Math.floor(scale*height);
			_scale = scale;

			System.out.println("Attempt: " +_width +", " +_height);
			Display.setDisplayMode(new DisplayMode(_width, _height));

		} catch (LWJGLException e) {
			e.printStackTrace();
		}
	}