updates to initializer and matrix inverse