Although this still happens on occasion, what has been recognized is that applying a purely procedural model is often hard at best, requiring huge amounts of time to evolve into a functional, usable, and realistic-looking method. Instead of writing a procedure that completely builds content procedurally, it is widely considered to be much cheaper and more effective to rely on artist-created content for some details. For example, SpeedTree is middleware used to generate a large variety of trees procedurally, yet its leaf textures can be fetched from regular files, often representing digitally acquired real foliage.