viewshed (in progress)