final-diagram ready, only main and helper not included yet