refactoring for sparse vector construction
add TODO
extra sparseClone implementation