почти тоже самое что Ваша схема, только оптимизирована