add flow diagram to help with purpose comprehension