addSoft modification: handle array differently