Lots of changes. Working towards easier and more modular code