Fixed Removing GLM

Couldn't get GLM to work in the fork, so reverted to what was working.
I'm back to where I started with it.
Structure change plus no glm

Full revert to pre-glm with structural changes I made when I refactored