Этот код возможно оптимизировать)