add vector interface