Initial queue view

Would be nice to merge this since it is too big, there are still some bugs but if we merge it then we can make smaller branches and split up the work.