Created by: Durman
It looks uselessly deep copies input data. Also it seems does not have optimization of the case when input data is a NumPy array.