add ability to pass params in lazy constructor
Merge branch '0.4'