#3 added most vector operations, but does not support partial updates of vectors right now
#3 added most vector operations, but does not support partial updates of vectors right now