viewport not hard coded