scanning
parsing