phone match spec and refactor