NOTE this viewport is created twice, once here and then AGAIN in the initialize() method. I don't think this is very efficient.