removed world reference from system struct, now world is passed to the three system functions init|close|update