There exist a lot of differing approaches for each of those tasks.