 Older versions of frames are saved in 'comet-like' linked list so one can see the history (and time spent) for any individual frame (and more generally, those in any tree).Finally, KMS contained a script programming language (akin to JavaScript) which enabled developers and users to extend the system beyond its current functionality.In keeping with the KMS philosophy of 'Everything a frame' (e.g., cursors, fillpatterns, etc., are represented as frames) so programs are also represented as hierarchies of frames; KMS dynamically read and interpreted only those program frames needed at runtime.