+ оптимизировать подсчет остатков