added vector, interface only