add laziness unit tests