moved _G.wait to globals.lua
added experimental matrix manipulation methods
refactoring
changed back to having one update event instead
changed
more work