refactored foreign locker