upvector modified