prototype for unlocking