better user controlls on glviewer