ASD fast because woodbury is pointless; using svd instead
update
fitting intercept args, and svd trick in own function
jonas update