added Vector#constrain