多项选择题

下列选项对证人的描述正确的是 ( )。

A.凡是知道案件情况并有作证能力的人都可以作为证人
B.生理上、精神上有缺陷或者年幼,不能辨别是非、不能正确表达的人,不能作为证人
C.证人只能是当事人以外知道案件情况的人
D.凡是在刑事诉讼前知道案件情况的人,都应当优先地作为证人参加诉讼,而不能以其他身份参加诉讼
E.证人可以是单位也可以是个人