added weak reference to avoid memory leaks, and changed the boot strings