adding DenseVector's other half; some bug fixes, including fixing the order of lookup to be declaration order instead of reverse declaration order
merging with master
with profiling