couple of changes
use new function rather than eval, it's neater and very marginally faster
fixed undo behaviour on firefox - it was getting screwed up - i don't think firefox likes people adding members to int arrays