Implimented Viewport and input Class