UPD: redesign, fixes