changed lazy to use a mut pointer