updated test case
lazy evaluation
speed test
little doc updates