Add a flow cahart to explain how this app work