more error handling so human won't guess letter twice
refactored - both phases working