vector-based reverse implmntd