preserving data type of transformed vec
making transformations respect kwargs