added parts of HW's Juravlev