added lazy evaluation, and updated to use latest giotto