use logger
use iterator

separate iteration of recipie items into iterater method
GenerateItems::_itericdeps()