Now programatically generating more data, and applied the cached property pattern further