one more improve landscape_viewer implementation ( fourth part of refactoring, code should be cleaned up )