This section covers both online and offline approaches.