All functions used during model building should be callable in `O(1)`. I might need to write my own sparse matrix (matrix like structure)...