added loading/unloading mechanism