updated app generator