okay, so this version should be fine, unless you assume that init/load are called after leave and do something with global variables... hmm