Matrix multiply and shared are a work in progess
Cleaned up