merge w. giulio (master)

take a vector with directions instead? negative, fractional directions could be used to shrink, for example.