use a extra array