added more sophisticated landscape parser that detects invalid characters