added id generation
added script pool
better named
added event func
better interface
removed pool from interpreter