added functional viewport manager to controller