the & case after * case will trigger a bug.