Viewport system working now, for the most part