modified lazy and holder