working unlock prompter handling (still messy)