Integrated most components together into main flow