has memory restriction, thus use indics instead of create new vectors