Information recovery from black holes