vector-based methods