fixed sparse constructor