extends example by lazy eval and traits