attempted optimisation on topdownViewer