updated lazy push