main viewport complete